<?php

class Perfil extends CI_Controller {
	
    function __construct() {        
        parent::__construct();
        $this->load->model('perfil_model','',true);
        $this->load->model('usuario_model');
        $this->load->model('usuario_perfil_model');        
    }

    function index($resultado=FALSE) {
        $dbconnect = $this->load->database();
        
        $lstPerfil = $this->perfil_model->getPerfil();
        $rowcount = $this->perfil_model->getRowCount();
        
        $data = array(
            'lstPerfil' => $lstPerfil,
            'rowcount' => $rowcount
        );
        
        if($resultado){
        	$data['mensaje'] = "La operación se realizó satisfactoriamente.";
        	$data['class'] = "alert_success";
        }
        
        $data['page_title'] = "Bandeja de Perfil";
        $this->load->view('perfil_view/perfil_view', $data);
    }
    
    function insertar(){
    	$session_data = $this->session->userdata('logged_in');
    	$id = $session_data['id'];
    	$data['nombre'] = $_POST['txtNombre'];
    	$data['descripcion'] = $_POST['tDescripcion'];
    	$data['estado'] = $_POST['cbxEstado'];
    	$data['usuario_registro'] = $id;
    	$data['fecha_registro'] = date('Y-m-d H:i:s');
    	$this->perfil_model->insert($data);
    	$this->index(TRUE);
    }
    
    function accion() {
    	$data['page_title'] = "Perfil";
    	$data['mensaje'] = "Usted puede editar datos";
    	$data['perfil'] = $this->perfil_model->getPorid($_GET['id']);
    	$this->load->view('perfil_view/perfil_edit_view', $data);
    }
    
    function editar() {    	
    	$session_data = $this->session->userdata('logged_in');
    	$id = $session_data['id'];    	
    	$data['id'] = $_POST['txtId'];
    	$data['nombre'] = $_POST['txtNombre'];
    	$data['descripcion'] = $_POST['tDescripcion'];
    	$data['estado'] = $_POST['cbxEstado'];
    	$data['usuario_modificacion'] = $id;
    	$data['fecha_modificacion'] = date('Y-m-d H:i:s');
    	$data['ip'] = $this->input->ip_address();
    	$this->perfil_model->update($data);
    	$this->index(TRUE);
    }
    
    function eliminar() {
    	$id = $_GET['id'];
    	$this->perfil_model->delete($id);
    	$this->index(TRUE);
    }
    
    function asignar(){
    	$data['page_title'] = "Asignar Perfil";
    	$data['mensaje'] = "Usted puede asignar perfil";
    	$data['perfil'] =  $this->perfil_model->getListPerfil();
    	$this->load->view('perfil_view/perfil_asignar', $data);
    }
    
    function actualizaPerfil(){
    	//id de la seccion del usuario
    	$session_data = $this->session->userdata('logged_in');
        $id = $session_data['id'];
    	
    	//Cambiando estado en usuario_perfil
    	$data['usuario'] = $_POST['txtUsuario'];
    	$id_usuario = $this->usuario_model->getPorId($data);
    	$data['id_usuario'] = $id_usuario['id_usuario'];
    	$data['usuario_accion'] = $id;
    	$data['fecha'] = date('Y-m-d H:i:s');    	
    	$data['destino'] = $_POST['destino'];

    	$this->usuario_perfil_model->updatePerfilInactivo($data);
    	
    	//Registrando nuevo perfil de usuario
    	
    	foreach($data['destino'] as $d) {
    		$check = $this->usuario_perfil_model->checkPerfil($data, $d);
            if(!isset($check[0]->id_perfil)){
                $this->usuario_perfil_model->insertPerfilActivo($data, $d);
            }else{
                $this->usuario_perfil_model->updatePerfilActivo($data, $d);
            }

        }
    	redirect('usuario', 'refresh');
    	
    }
    
    function buscaAsignar(){
    	$data['usuario'] = $_GET['usuario'];
    	$data['nombre'] =  $this->usuario_model->getPorUsername($data);
    	$this->load->view('lista_perfil/nombre_usuario',$data);
    }
    
    function sinperfil(){
    	$data['usuario'] = $_GET['usuario'];
    	$data['nombre'] =  $this->usuario_model->getPorUsername($data);
    	$data['sin'] =  $this->perfil_model->getsinperfil($data);
    	$this->load->view('lista_perfil/sin_perfil',$data);
    }
    
    function conperfil(){
    	$data['usuario'] = $_GET['usuario'];
    	$data['con'] =  $this->perfil_model->getconperfil($data);
    	$this->load->view('lista_perfil/con_perfil',$data);
    }        
}

?>